AWS Key Management Service (KMS) হল একটি পরিষেবা যা আপনাকে ডেটা এনক্রিপশন কীগুলি তৈরি, ম্যানেজ এবং নিয়ন্ত্রণ করতে সাহায্য করে। DynamoDB-এর সাথে KMS Integration ব্যবহারের মাধ্যমে, আপনি আপনার ডেটাকে encryption at rest নিরাপদে সংরক্ষণ করতে পারবেন।
DynamoDB স্বয়ংক্রিয়ভাবে encryption at rest সমর্থন করে, তবে যদি আপনি কাস্টম এনক্রিপশন কীগুলি (Custom KMS Key) ব্যবহার করতে চান, তবে আপনাকে AWS KMS এর সাহায্যে এটি কনফিগার করতে হবে।
যখন আপনি DynamoDB টেবিল তৈরি করবেন, তখন আপনি KMS এনক্রিপশন কীগুলি কনফিগার করতে পারেন। এর মাধ্যমে আপনি নির্ধারণ করতে পারবেন কোন AWS managed key অথবা Customer managed key (CMK) ব্যবহার করা হবে।
import boto3
# DynamoDB client তৈরি
dynamodb = boto3.client('dynamodb')
# টেবিল তৈরি করার সময় কাস্টম KMS Key ব্যবহার
response = dynamodb.create_table(
TableName='YourTableName',
KeySchema=[
{
'AttributeName': 'ID',
'KeyType': 'HASH' # Partition Key
}
],
AttributeDefinitions=[
{
'AttributeName': 'ID',
'AttributeType': 'S'
}
],
ProvisionedThroughput={
'ReadCapacityUnits': 5,
'WriteCapacityUnits': 5
},
SSESpecification={
'Enabled': True,
'SSEType': 'KMS',
'KMSMasterKeyId': 'arn:aws:kms:region:account-id:key/key-id' # KMS Key ARN
}
)
print(response)
DynamoDB Streams-এর মাধ্যমে আপনি আপনার টেবিলের ডেটার পরিবর্তনগুলি ট্র্যাক করতে পারেন। আপনি যদি KMS এনক্রিপশন ব্যবহার করেন, তবে DynamoDB Streams এর ডেটা এনক্রিপ্টেড থাকবে। যখন আপনি স্ট্রিমের ডেটা অ্যাক্সেস করবেন, তখন সেই ডেটা ডিক্রিপ্ট করতে KMS Key ব্যবহার করা হবে।
import boto3
# DynamoDB Streams এর মাধ্যমে KMS দ্বারা এনক্রিপ্টেড ডেটা পাওয়ার উদাহরণ
dynamodbstreams = boto3.client('dynamodbstreams')
# Stream ARN এর মাধ্যমে ডেটা পড়া
response = dynamodbstreams.get_records(
StreamArn='arn:aws:dynamodb:region:account-id:stream/stream-id'
)
# এনক্রিপ্টেড ডেটা ডিক্রিপ্ট করার জন্য KMS ব্যবহার করুন
# (এটি KMS API কলের মাধ্যমে করা হয়)
KMS-এ আপনি কাস্টম কীগুলি রোটেট করতে পারেন। যখন আপনার টেবিলের KMS Key রোটেট হবে, তখন DynamoDB স্বয়ংক্রিয়ভাবে আপনার ডেটাকে পুরানো কীগুলি থেকে নতুন কীগুলির সাথে সংযোগ করবে। এই রোটেশন প্রক্রিয়া ডেটার নিরাপত্তা নিশ্চিত করে এবং কোনও ডেটার অ্যাক্সেস ব্যাহত হয় না।
Key Rotation এবং Audit Logs এর মাধ্যমে আপনি আপনার কীগুলির ব্যবহারের উপর নজর রাখতে পারেন এবং নিরাপত্তা কনফিগারেশনগুলি সঠিকভাবে বজায় রাখতে পারেন।
common.read_more